Content Centric Networking (CCN) is a network model or architecture in which the focus is on locating and providing content or data to users rather than on having the users reference a specific physical location where that data is to be retrieved from. For example, in CCN-based communication, content requests may bind to a network layer over named content object and de-couple location and address information, which may eliminate the need for pre-binding.
CCN allows intermediate routers to store data. As a result, a file carrying a piece of content may be stored in multiple locations including a publisher's server and cache locations. An advantage of caching content is that it may allow subsequent users or consumers of the same file to obtain the content locally without having to fetch the content from the publisher's server every time. Caching may reduce the workload on the publisher's server (or content distribution network (CDN) servers when the publisher has delegated the content to the CDN). Further, caching may reduce network traffic outside of the network's operators, and thereby reduce end-to-end delay for content consumption.
While there are beneficial aspects brought by CCN, taking advantage of a content that has been cached in a network or network domain involves locating one or more copies of the content. For example, using existing technologies, the content may be located in an opportunistic manner, that is, by “running” into a copy of the content on the way to a publisher's server or a CDN server. This may also require updating content routing tables in routers or switches so that they are able to direct requests for the content to a nearest copy. However, the complexity and scale of updating routing tables for a large amount of contents may be prohibitive in practice. For instance, the current Internet is believed to hold about 10^15 pieces of content, which is constantly growing. Aggregating contents by name may allow routing on (name) prefixes, but routing a content or data to its nearest copy may run counter to aggregation, as the routing may detach specific items from their default routing prefix.